package com.news.api.util;

import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.security.Keys;

import javax.crypto.SecretKey;

/**
 * ━━━━━━神兽出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　 ┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　  ┃
 * 　　┃　　　　　　 ┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛Code is far away from bug with the animal protecting
 * 　　　　┃　　　┃    神兽保佑,代码无bug
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━永无BUG!━━━━━━
 *
 * @Description:
 * @Author: 邢朋辉
 * @Date: 2023/3/15 10:56
 */
public class JwtUtil {
    /**
     * 生成令牌
     * @param json 要放到jwt中的内容*/
    public static String createJwt(String json){
        return Jwts.builder().setSubject(json).signWith(getKey()).compact();
    }

    /**
     * 解析令牌
     * @param jwt 要解析的jwt格式的字符串*/
    public static String parseJwt(String jwt){
        return Jwts.parser().setSigningKey(getKey()).parseClaimsJws(jwt).getBody().getSubject();
    }
    /**
     * 生成密钥*/
    private static SecretKey getKey(){
        String key="laoxingzhenshuai6666666666666666666666";
        return Keys.hmacShaKeyFor(key.getBytes());
    }

}
